<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%
'******************************************************************************************
'#                  Openasp CMS software opensource                                       #
'******************************************************************************************
'#      Copyright (C) Luca Becchetti, Broken Ice Interactive                              #
'#                                                                                        #
'# Questo software è gratuito, è possibile ridistribuire e modificare il prodotto         #
'# rispettando i termini della GNU General Public License pubblicata dalla Free           #
'# Software Foundation, si fa riferimento alla versione attuale e a tutte le versioni.    #
'# future                                                                                 #
'#                                                                                        #
'# Il software viene distribuito con lo scopo di essere utile e di aiutare nella          #
'# realizzazione di un sito web, non ci assiumiamo nessuna responsabilità per             #
'# eventuali malfunzionamenti o problemi provenienti dal programma.                       #
'#                                                                                        #
'# E' assolutamente vietato eliminare ogni riferimento di copyright sia all'interno del   #
'# del codice sorgente sia quelli visivi nel progetto.                                    #
'#                                                                                        #
'# Una copia della licenza GNU GPL è rilasciata nel pacchetto di istallazione del         #
'# software.                                                                              #
'#                                                                                        #
'# Per supporto visita il nostro sito ufficiale                                           #
'# http://www.openasp.it                                                                  #
'#                                                                                        #
'#                                                                                        #
'******************************************************************************************
%>
<!--#include file="OPENASP_VERS.INC"-->
<%
    Server.ScriptTimeout 	= 90
    Response.Buffer 	 	= True
    Response.Expires 		= -1
    Response.ExpiresAbsolute 	= Now() - 2
    Response.AddHeader 		"pragma","no-cache"
    Response.AddHeader 		"cache-control","private"
    Response.CacheControl 	= "No-Store"  
    '
    '            ___________________________________________
    '           /                                           \
    '---------- |   INIZIALIZZAZIONE VARIABILI E OGGETTI     |----------------------------------+
    '           \___________________________________________/                    
    'In questa fase vengono inizializzate le variabili e gli oggetti necessarie al sistema
    '
    '----VARIABILI SEMPLICI----
    lngTimer 		= Timer 'Variabile per il test della velocità della pagina
    bolAutorizzato 	= true 'Variabile boolean per le autorizzazioni
    stringa 		= date()
    converti 		= Month(stringa) & "/" & Day(stringa) & "/" & Year(stringa)'Costruisco la data attuale nel formato compatibile con MS ACCESS
    '
    '----VARIABILI DI SESSIONE----
    session("ver") 	= SYSTEM_COD_VERSION 'Codice versione attuale
    session("nam") 	= SYSTEM_CMS_VERSION 'Nome versione attuale
    session("autoMOD") 	= "" 'Variabile per la gestione autorizzazioni moduli
    session("aut") 	= "" 'Variabili di controllo per la gestione SAM
    '
    '----ISTAMZE OGGETTI----
    Set objFSO 		= Server.CreateObject("Scripting.FileSystemObject")
    Set objFolder 	= Server.CreateObject("Scripting.FileSystemObject")
%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Openasp Control Center</title>
    <%
    'inclusione motore per le inclusioni dinamiche
    %>
    <!--#include file="dynamicinclude.asp"-->
	<!--#include file="include/fpdf.asp"-->
    <%
    '            ___________________________________________
    '           /                                           \
    '---------- |      CONTROLLO INSTALLAZIONE CMS           |----------------------------------+
    '           \___________________________________________/                    
	if not objFSO.FileExists(server.MapPath("include/database_connect.asp")) then
		incFile "configuration/installcms.asp"
	end if	
    '            ___________________________________________
    '           /                                           \
    '---------- |     INCLUSIONE DIPENDENSE ESTERNE          |----------------------------------+
    '           \___________________________________________/                    
    incFile "include/database_connect.asp" 		'Inclusione gestione connessione ai database
    incFile "include/inc_lingua_country.asp"	'Inclusione gestione riconoscimento lingua
    incFile "include/inc_config.asp"			'Inclusione registro di sistema
    incFile "include/inc_lingua_XML.asp"		'Inclusione gestione multilingua	
    incFile "include/inc_functionvb.asp"		'Inclusione funziona VB di sistema
    incFile "include/rendering.asp"				'Inclusione motore grafico
    incFile "include/captcha.asp"				'Inclusione chaptcha per login sicuro
    incFile "include/inc_class_upload.asp"      'Inclusione classe per upload file    
    %>
	    <!--INCLUSIONE DIPENDENSE ESTERNE-->
	    <script type="text/javascript" src="include/inc_functionjs.js"></script>
   		<script type="text/javascript" src="include/jquery.js"></script>
		<script type="text/javascript" src="include/jquery.block.js"></script>
		<script type="text/javascript" src="include/jquery.heartbeat.js"></script>
		<script type="text/javascript" src="include/jquery.interface.js"></script>
		<script type="text/javascript" src="include/jquery.history.js"></script>
		<script type="text/javascript" src="include/jquery.tabs.js"></script>
		<script type="text/javascript" src="include/tiny_mce/tiny_mce.js"></script>
	    <script type="text/javascript">
		 //Elimino i conflitti di JQuery con le altre librerie (prototype - scriptacoulus)
		 var $j = jQuery.noConflict();
	    </script> 	   
		<%
		if session("uID") = "" OR session("uID") = 0 then
		%>
		<link rel="stylesheet" type="text/css" href="themes/OCC/stile/login.css" />
		<%
		else
		%>
		<link rel="stylesheet" type="text/css" href="themes/OCC/stile/standard.css" />
		<%
		end if
		if objFSO.FileExists(server.MapPath("themes/MODULI_IMG/MODULO_"&ucase(request.QueryString("modulo")&"/stile.css"))) then
			response.Write vbNewLine & "<style type=""text/css"">" &vbNewLine
			incFile "themes/MODULI_IMG/MODULO_"& ucase(request.QueryString("modulo")) & "/stile.css"
			response.Write vbNewLine & "</style>"
		end if
		%>
	 	<link rel="shortcut icon" href="favicon.ico" />
        <meta http-equiv="Content-type" content="text/html;charset=utf-8" />
		<meta name="description" content="<%=SYSTEM_META_DESC%>" />
		<meta name="Author" content="BASE Openasp GNU License, adattamento: <%=SYSTEM_META_AUTOR%>" />
		<meta name="keywords" content="<%=SYSTEM_META_KEY%>" />
		<!-- FINE INCLUSIONE TAG META-->

</head>
<body> 
<%				
	
        '            ___________________________________________
        '           /                                           \
        '---------- |  RECUPERO INFORMAZIONI DA VISUALIZZARE     |----------------------------------+
        '           \___________________________________________/                    
        '
	' In questa fase passo recuperare il modulo e il file che l'utente intende visualizzare, nel caso
	' in cui non viene passato nessun modulo si usa quello di default, e nel caso in cui non viene
	' richiesto nessun file specifico del modulo si visualizza la home del modulo.
	'
	modu = request.querystring("modulo") '//nome cartella obbligatorio
	foldName = request.querystring("op") '//nome file facoltativo
	session("autoMOD") = ""
	session("blocchiDX") = bolBloccoDX
	session("blocchiSX") = bolBloccoSX
	'Controllo che la cartella non sia nulla, se lo è la setto con la pagina inziale di default
	if modu = "" then
		modu = defaultHomeAdmin
		session("modu") = modu
	end if			
        '            ___________________________________________
        '           /                                           \
        '---------- |   CONTROLLO DEL FILE DI CONFIGURAZIONE     |----------------------------------+
        '           \___________________________________________/                    
        '
	' In questa fase controllo se è presente il file di configurazione del modulo, questo file serve
	' ad impostare al modulo delle configurazioni speciali diverse da quelle di default
	'
	if objFSO.FileExists(Server.MapPath("admin/moduli/" & modu & "/modulo-config.asp")) then
		'se è presente lo eseguo																	
		Server.Execute("admin/moduli/" & modu & "/modulo-config.asp")								
		'Se non è presente il blocco di configurazione del file setto i valori di default			
	else'																						
		session("autoMOD") = defaultVisibAdmin														
		session("thisMOD") = deafultVisibMod					
	end if
        '            ___________________________________________
        '           /                                           \
        '---------- |     CONTROLLO DELLE AUTORIZZAZIONE         |----------------------------------+
        '           \___________________________________________/                    
        '
	' In questa fase controllo innanzi tutto che l'utente non sia un gest, dopo di che passo a controllare
	' in base ai settaggi del modulo, se l'utente è autorizzato oppure no a visualizzare il modulo
	'
	If session("uID") = 0 OR session("uID") = "" then							 						
		bolAutorizzato = false													 
	else									
		'se l'utente è registrato controllo secondo le impostazioni del modulo che sia del grado richiesto
		' il controllo avviene tramite il file inc_auto.asp.
		incFile "include/inc_auto.asp"
	end if'
	
        '            ___________________________________________
        '           /                                           \
        '---------- |     POSIZIONAMENTO UTENTE O GUEST          |----------------------------------+
        '           \___________________________________________/                    
        '
	'
        'Controllo se l'utente ha effettuato il login
        if session("uID") <> 0 AND session("uID") <> "" then
	    'Salvo un cookie da utilizzare per la chat visubox
	    Response.Cookies("visubox_nick") = username(session("uID"))
        'Se l'utente non è loggato
        else
    	     'Se la sessione è scaduta tento di recuperarla dal cookies memorizzato
	     Session("uID") = request.Cookies("log")("uID")
	     Session("livelloUser") = request.Cookies("log")("LivelloUser")	
	     Session("last_here_date") = request.Cookies("log")("LastHere") 
	     'Ripeto nuovamente il controllo sull'utente
	     if session("uID") <> 0 AND session("uID") <> "" then  
		    'Salvo un cookie da utilizzare per la chat visubox
		    Response.Cookies("visubox_nick") = username(session("uID"))
	    else	        
		    'Controllo che al visitatore non sia già stato assegnato un nome al visitatore, se non ha un nome lo assegno.
		    if session("guest") = "" then 
			session("guest") = assegnaGuest()  
		    end if
	    End if
        end if  
		
		'Controllo se l'utente è root oppure amministratore dell'area admin altrimenti lo abilito solo alla sua directory
		if isADM(session("uID"), "content") = false AND session("LivelloUser") <> 2 then
			session("SYSTEM_PATH_IMG") = SYSTEM_SERVER_ROOT & "/" & SYSTEM_PATH_IMG & "/users/" & username(session("uID"))
		end if
        '            ___________________________________________
        '           /                                           \
        '---------- |     RECUPERO PARAMETRI GESTIONE SAM        |----------------------------------+
        '           \___________________________________________/                    
        '
        ' In questa fase passo a recuperare il grado SAM dell'utente e lo salvo in una variabile standard
        ' e in una variabile di sessione
        '
        if session("livelloUser") = 2 then
		aut = "S" 'l'utente è un superAdmin
		session("aut") = "S"
        elseif isADM(session("uid"), "") then
		aut = "A" 'l'utente è un Admin
		session("aut") = "A"
        elseif isMOD(session("uid"), "") then
		aut = "M" 'l'utente è un Moderatore
		session("aut") = "M"   
        else
		aut = "U" 'l'utente è un utente semplice
		session("aut") = "U"
        end if 
    '            ___________________________________________
    '           /                                           \
    '---------- |    SUB PER LA VISUALIZZAZIONE: MODULI      |----------------------------------+
    '           \___________________________________________/                    
    '
    ' Questa sub viene richiamata della funzione del tema scelto per visualizzare i moduli
    Sub moduloCentro()
        '--------------------FASE DI CARICAMENTO DEI MODULI----------------
        'Se non è richiesto nessun file specifico eseguo la home del modulo
        If foldName = "" then
            'Controllo che la cartella del modulo esista
            if objFolder.FolderExists(Server.MapPath("admin/moduli/" & modu)) then
                'Se l'utente è autorizzato visuazlizzo il modulo
                if bolAutorizzato then  
                    'Controllo esistenza del modulo 
                    if objFolder.FileExists(Server.MapPath("admin/moduli/" & modu & "/" & modu & ".asp")) then
                        'Controllo se è richiesta la visualizzazione di mancata traduzione modulo
                        if session("tradModu") = false and SYSTEM_SHOW_TRAD then
                            With response
                                .Write "<div style=""background-color:#E2E2E2; width:100%;"" class=""errore"">"
                                .Write traducisys("ling_52")
                                .Write "</div>"
                            End with
                        end if
                        'Eseguo la pagina del modulo
                        incFile "admin/moduli/" & modu & "/" & modu & ".asp"
                    else
						if modu <> "ajax" then
	                        'Modulo non trovato
    	                    incFile "modulonotfound.asp"
						else
							response.Redirect "admin.asp?modulo=ajax&err=1"
						end if
                    end if
                'Se non è autorizzato visualizzo l'errore
                else
					if modu <> "ajax" then
	                        'Modulo non trovato
    	                    incFile "accessonegato.asp"
						else
							response.Redirect "admin.asp?modulo=ajax&err=2"
						end if
                end if
            else
                if modu <> "ajax" then
					'Modulo non trovato
					incFile "modulonotfound.asp"
				else
					response.Redirect "admin.asp?modulo=ajax&err=1"
				end if
            end if
        else
            'Se è richiesto un file specifico del blocco controllo che esista
            if objFSO.FileExists(Server.MapPath("admin/moduli/" & modu & "/" & foldname & ".asp")) then
                'se esiste lo eseguo
                incFile "admin/moduli/" & modu & "/" & foldname & ".asp"
            else
                'altrimenti stampo la pagina di errore
                incFile "filenotfound.asp"
            end if
        end if
    End sub
    
    '            ___________________________________________
    '           /                                           \
    '---------- | CREAZIONE DELLA PAGINA IN BASE AL TEMA     |----------------------------------+
    '           \___________________________________________/                    
    '
%>

<%
if session("uID") = "" OR session("uID") = 0 then
%>
	<div id="contentlogin">
		<div id="loginbox">
			<form action="default.asp?modulo=login&amp;login=true" method="post" name="form1">
					<p><label for="username" class="testo">Username: [u]</label>
					<input type="text" class="inputclass" id="username" name="uName" size="15" accesskey="u" /></p>
					<p><label for="password" class="testo">Password: [p]</label>
					<input type="password" class="inputclass" id="password" name="uPass" size="15" accesskey="p" /></p>
					<p><label for="remember" class="testo"><%=traducisys("ling_login_11")%></label>
					<input type="checkbox" class="inputclass" name="uAutoLogin" accesskey="r" id="remember" value="on" /></p>					
					<% 
					'Controllo che il SSL sia impostato ad un livello alto
					if SSL = 3 then 
					Session("login") = Session("log")
					%>
					<p class="captcha">
					<img src="captcha.asp" alt="This Is CAPTCHA Image" width="86" height="21" />
					<input name="strCAPTCHA" type="text" id="strCAPTCHA" maxlength="8" size="15" class="inputclass" />
					</p>
					<%end if%>
					<input type="hidden" name="url" value="<%=request.ServerVariables("SCRIPT_NAME") & "?" & replace(request.ServerVariables("QUERY_STRING"), "&", "&amp;")%>" /><br/>
					<p class="errore">
					 <%
			
					 'Controllo eventuali errori riscontrati nel login
					 Select case Session("errore")
					  CASE 1:
					   'Dati non corretti
					   Response.Write traducisys("ling_login_06")
					  CASE 2:
					   'Tenativo di attacco SQLInjection
					   Response.Write traducisys("ling_login_05")
					 End select
					 %>
					</p>
					<br />		
					<p><input type="submit" class="buttonclass" value="login" accesskey="l" /></p>
                    <br />
                    <a class="testo" title="<%=traducisys("ling_106")%>" href="http://<%=system_url%>"><%=traducisys("ling_106")%></a>
				</form>
               
		</div>
	</div>
	<%
	else
	%>
	<div id="containerOCC">
		<div id="header">
				<div id="message">
				<%if bolAutorizzato then%>
				<h1>Bentornato <%=Username(session("uID"))%>,</h1>
				<%=traducisys("ling_occ_260")%> <b><%=chkDate(session("lasthere"), " ", true)%></b>
				</div>
				<div id="navigation">
				<a title="<%=traducisys("ling_106")%>" href="http://<%=system_url%>"><img alt="<%=traducisys("ling_106")%>" src="themes/OCC/stile/indietro.jpg" border="0" /></a>
				<a title="<%=traducisys("ling_105")%>" href="default.asp?modulo=login&amp;logout=true&amp;url=admin.asp"><img alt="<%=traducisys("ling_105")%>" src="themes/OCC/stile/logout.jpg" border="0" /></a>
				<%else%>
				&nbsp;
				</div>
				<div id="navigation">
				<a title="<%=traducisys("ling_106")%>" href="http://<%=system_url%>"><img alt="<%=traducisys("ling_106")%>" src="themes/OCC/stile/indietro.jpg" border="0" /></a>
				<%end if%>
				</div>
		</div>	
		<div id="content">
			<%
			Call ModuloCentro()
			%>
		</div>
		<div id="footer">
		<%=traduciSys("ling_49")%>
		</div>
	</div>
	<%
	end if
    '            ___________________________________________
    '           /                                           \
    '---------- |             RILASCIO OGGETTI               |----------------------------------+
    '           \___________________________________________/                    
    '
    'In questa fase rilascio tutti gli oggetti istanziati inizialmente
    Set multilingua = Nothing
    Set objConn = Nothing
    Set objFSO = Nothing
    Set objFolder = Nothing
    call closeDB()
   'Switch dei valori admin ai valori default da passare alle statistiche
   modulofile = foldname
   foldname = modu
%>
	</body>
</html>
